home *** CD-ROM | disk | FTP | other *** search
- /*************************************************************************************************
- *
- *
- * ObjectMacZapp -- a standard Mac OOP application template
- *
- *
- *
- * ZTextWindow.h -- a window that displays text files (uses TextEdit)
- *
- *
- *
- *
- *
- * © 1996, Graham Cox
- *
- *
- *
- *
- *************************************************************************************************/
-
-
- #pragma once
-
- #ifndef __ZTEXTWINDOW__
- #define __ZTEXTWINDOW__
-
-
- #include "ZScroller.h"
- #include <TextEdit.h>
-
- /*
-
- This is a scroller that displays text. It does this by using TextEdit. You can edit the text
- if editable is true, and save a text file of the contents. It cannot open very big files
- because of the TextEdit limitations.
-
- */
-
- typedef enum
- {
- teFixedWidth,
- teWindowWidth
- }
- TEWidthControl;
-
- // set up streaming stuff:
-
- DEFINECLASSID( ZTextWindow, 'ztxt' );
-
- // class def:
-
-
- class ZTextWindow : public ZScroller
- {
- protected:
- TEHandle itsText;
- Boolean isEditable;
- short emSpace;
- short emWidth;
- TEWidthControl wControl;
-
- public:
- ZTextWindow( ZCommander* aBoss, const short windID, Boolean allowEditing = TRUE );
- ZTextWindow();
- ~ZTextWindow();
-
- virtual void InitZWindow();
- virtual void DrawContent();
- virtual void ClickContent( const Point mouse, const short modifiers);
- virtual void Activate();
- virtual void Deactivate();
- virtual void SetSize( const short width, const short height);
- virtual void Zoom( const short partCode );
- virtual void Scroll( const short dH, const short dV );
- virtual void Type( const char theChar, const short modifiers );
- virtual void OpenFile( const OSType fType, Boolean isStationery = FALSE );
- virtual void SaveFile();
- virtual void Idle();
- virtual void AdjustCursor( const Point mouse, const short modifiers );
-
- virtual Boolean CanPasteType();
- virtual void DoCut();
- virtual void DoCopy();
- virtual void DoPaste();
- virtual void DoClear();
- virtual void DoSelectAll();
-
- virtual void HandleCommand( const long aCmd );
- virtual void HandleCommand( const short menuID, const short itemID );
- virtual void UpdateMenus();
-
- virtual void SetWidthControl( TEWidthControl aCtl, short fixWidth = 255 );
- virtual void SetSizeRect( const Rect& szRect );
- virtual void TextEditClickLoop();
-
- virtual void GetTextViewRect( Rect* r ) { GetContentRect( r ); };
-
- inline TEHandle GetTextEditHandle() { return itsText; };
-
- protected:
-
- virtual void MakeTextEdit();
- virtual void RecalText();
- };
-
-
-
- #define kTextFileTooBigErr 77
- #define kMaxTextSize 32760
-
- #endif